package client;

import interfaces.*;
import client.*;
import serveur.*;
import java.net.*;
import java.rmi.*;

public class LanceurClient {

	public static void main(String[] args)
	{
		ClientITF  client = null;
	
		// Vérification des arguments
		if (args.length < 1 || args.length > 2)
		{
			System.out.println("Usage: java LanceurClient <host:port> [election]");
			System.exit(0);
		}
					
		try
		{	
			// Création du client
			client = new ClientImpl();
			
			// Connexion au server
			client.connect_to(args[0]);			
						
			System.out.println("* Connexion établie au serveur (id: " + client.getID() + ")");
			
			// Affichage des voisins (voisins OK)
			System.out.println("* Voisins attribués: " + client.printNeighbours());
			
			if (args.length == 2)
			{
				System.out.println("Lancement de l'élection ...");
				//client.lancerElection();
				TokenThreadITF tt = new TokenThread(client);
				tt.run();
				client.sendMail();
			}
			
			// Vérification des messages continue
			client.checkBox();			
		}
		catch (Exception e)
		{
			System.out.println(e);
		}
	}

}
